Application-specific integrated circuits (ASICs), have been supplanted more and more by integrated circuits (ICs) that can be programmed to fulfill multiple functions. There are now many programmable logic architectures, including, for example, programmable logic devices (“PLDs”), programmable logic arrays (“PLAs”), complex programmable logic devices (“CPLDs”), field programmable gate arrays (“FPGAs”) and programmable array logic (“PALs”). Although there are differences between these various architectures, each of the architectures typically include a set of input conductors coupled as inputs to an array of logic whose outputs, in turn, act as inputs to another portion of the logic device. Complex Programmable Logic Devices (“CPLDs”) are large scale PLDs that, like many programmable architectures, are configured to the specific requirements of an application by programming.
Previously, a device was programmed once for a specific function which would be its only function for its lifetime. Each of these architectures, though, has begun to be implemented in a reprogrammable form. A programmable logic device can now be reprogrammed while in operation and can fulfill the functions of many different devices. One of the more complex reprogrammable logic devices is the programmable-system-on-chip, or PSoC™, which can be implemented as any of a number of devices, anywhere from simple logic gates to those as complex as microcontrollers.
It is noted here that this discussion of the background of the present invention uses the term “PSoC™” extensively. PSoC™ is a registered trademark of Cypress Semiconductor Corp. However, the use of the term PSoC™, each time it is used, is meant to include all forms of complex programmable logic device (PLD) architectures, including programmable logic array (PLA), complex programmable logic device (CPLD), field programmable gate arrays (FPGA) and programmable array logic (PAL).
One of the more demanding applications of PSoC™ programmable controller configuration is in the field of Digital Signal Processing, or DSP. The interface required between the outside “real” world and the DSP world includes analog-to-digital and digital-to-analog conversion (ADC and DAC, respectively). Additionally, it often also requires analog amplification and filtering. To reduce cost and increase functionality, it is desirable to combine analog circuitry with DSP in the same chip.
Complex device configurations require the establishment of numerous connections between functional blocks or user modules within the programmable device. User modules are the building blocks of an end configuration. User modules are implemented in hardware when the device is manufactured and, depending on the user's desired device function, combine in interconnection to achieve the various functions required.
Achievable functions are limited by the capabilities of the hardware resources in the user module blocks. When a desired function requires signal processing, signal filtering is required and must be an available hardware function implemented in the programmable device. Switched-capacitor filters are one way of implementing filtering in a semiconductor device. However, to achieve the high-gain filtering required for some signal processing, very complex structures have been required that absorb large parts of semiconductor “real estate” and force manufacturing costs to be high. This demand reduces the real estate available for other functional user modules, limiting the total capabilities of a semiconductor device.
Another limitation found in signal filtering is the available die area and the power required for high speed operation. In even the best existing designs, filtering accuracy and gain come at the cost of decreasing speed and increasing complexity.
A need exists therefore, for a switched-capacitor filter that can improve and streamline signal processing functions in highly complex programmable devices such as PSoCs. Such a switched-capacitor filter must be able to be incorporated in user-configurable functional user module blocks in a PSoC™ programmable controller and must enable configurations of the PSoC™ programmable controller to include efficient DSP functions. Furthermore, such a switched-capacitor filter must be able to be manufactured in known semiconductor manufacturing processes.